1. Field of the Invention
The present invention relates to the management of entities (digitally controllable devices), and, more particularly, to a method and apparatus for the correct versioning of a graphical user interface extension.
2. Description of the Related Art
In today's computing environments, administrators find both themselves and their administration tools overwhelmed. The number and diversity of the devices and software that require management have grown at a precipitous rate in the past fifteen years, and have presented a number of challenges to the makers of system administration software.
These challenges spring from the ever growing number of increasingly complex hardware and software products. The problem of administration is compounded by attempts to integrate such products into a cohesive system. In response, the users of administration software have demanded the close integration of such software with the systems under management, in spite of an ever more fragmented and distributed development organization. For the makers of such software, having the same environmental requirements has led to duplicated efforts in multiple product groups. Alternatively, there have been attempts to create product specific administration tools. However, such uncoordinated approaches to similar requirements have often produced components that are hard or impossible to integrate with one another, and with the systems in which these components are to be used in conjunction with other such components. Moreover, similar or related information in multiple administration products can lead to inconsistency in the administration tools' representations of systems being administered.
Preferably, the maker of such administration tools should provide a heterogeneous solution that is capable of operating in mixed platform, mixed device environments. Also, simpler management should be enabled by integrating interaction points among disparate products (i.e., a single user interface to the devices and software under management). Seamless integration and presentation of administrative tasks, for example, via a unified administrative interface which simplifies operations and make them less error-prone.
For example, a unified administrative interface for the management of storage devices would be warmly welcomed in that community. (It should be noted that, while the example of storage devices is used in this discussion, the same challenges are faced in controlling any digitally controllable item.) While most of the concepts of networked storage are rooted in technology that has existed for several decades, there are recent developments in computing which have lead to drastically increased demands for storage space. This is due in a large part to the advent of massive unstructured data flows, observed to stem from the mass acceptance of the internet and its related methods of communications and dissemination of information, as opposed to those associated with structured data flows, typical examples of which are Enterprise Resource Planning (ERP) systems, and Electronic Document Interchange (EDI) systems. There is a growing need to effectively control and manage data storage activities related to these data sources. As such, new challenges are brought forth related to facilitate server and storage consolidation, non-disruptive back-up procedures, and minimizing the distance limitations of technologies preceding storage area networking.
This need has led to the development of what is commonly referred to as a ‘Storage Area Network’ (SAN). Within a SAN, host computers provide access to arrays of storage devices that can be either local or remotely located, and can be either centralized in one location or distributed over many. This variability and the complexity of such storage subsystems mandates that the host computers be coupled to devices that can route requests to the storage devices and make their actual configuration transparent to the end-user (e.g., ‘storage routers’). This added network (the SAN) between the hosts and the storage devices, when properly set up and configured by an administrator, releases the end-user from the need to be concerned with the actual physical layout of the storage.
Traditional approaches to storage and storage management emphasize the need to control expense and restrict access. Prior technology has generally only enabled a given storage device to be accessible to a single server, so the latter goal is managed with relative ease though apparently working against achieving the former where there is such a one-to-one ratio of dependency. While one cost factor, that of the physical hardware performing the storage role, has exponentially decreased over the time since the advent of computing as a viable business tool, the cost associated with management now has continued to increase at an increasing rate, offsetting any benefits the former brings.
The important function of managing storage in a networked environment has proven to be generally difficult, and when comparing the approaches of management through a server-provided interface with storage-specific direct connect-based management (e.g., network attached storage (NAS) devices), a definite trend for success has been correlated with the latter. Just as data has been seen to come to be valued as an independent strategic asset from the computers that access it, storage networking products and architectures, as platforms for data protection and storage management are just now being elevated to the same level of concern.
To ensure reliability, redundant access is often supported, employing multiple routing devices, some of which may be distributed across geographically distant locations. Although a comparatively new technology, common existing implementations of SANs have to date been observed as failing in a critical area, that of not readily supporting extensibility.
An essential characteristic for a storage system is that it must be scalable if it is to support the increasing rate of growth of demand for storage space. Thus, with SANs, NAS systems and systems based on other storage paradigms, it can be expected that the complexity of their administration will increase rapidly, as well. It is therefore desirable to introduce greater simplicity into the management of such storage systems.
One challenge faced by administrators of such systems is the need to ensure that each user accessing the available devices/software packages employs the latest version of the applicable administration tool and its components. Typically, an administrator is unable to make such a determination without querying the administration software being employed, and then updating the software by installing new administration components. This is both time consuming and onerous, especially when such updating must be performed in the face of constantly changing devices and configurations.
What is needed is a system that can maintain components of an administration system in an up-to-date fashion without burdening the administrator with further administration tasks related to maintaining and upgrading their administration tools.